class Foo(object):
    def __init__(self, var):
        self.var = var
    def hello(self, more):
        print "helo "+more

class Bar(object):
    def __init__(self, method):
        self.method = method
    def do_something(self, var):
        print var*3
    def callFoo(self):
        self.method("asd")

if __name__ == '__main__':
    f = Foo(3)
    b = Bar(f.hello)
    # look, I'm using the variable from one instance in another!
    b.callFoo()
